/*
 * @(#)FactReader.java 1.0 2000/12/14
 * 
 * Copyright 2000 Thomas Barnekow. All Rights Reserved.
 * 
 * This software is the proprietary information of Thomas Barnekow. Use is
 * subject to license terms.
 */

package jessx.provider;

import jess.*;

import tb.provider.*;
import tb.util.*;

/**
 * A <i>FactReader</i> reads Jess <i>Fact</i> s from persistent storage,
 * e.g., from a relational database.
 * 
 * @author Thomas Barnekow
 * @version 1.0
 */
public interface FactReader extends StateProvider {

	/**
	 * Read <i>Fact</i> s from persistent storage.
	 * 
	 * @param entityName
	 *            name of persistent entity, e.g., a database table
	 * @param goal
	 *            Jess backward chaining goal <i>Fact</i> (need-
	 *            <actual-fact>)
	 * @param context
	 *            Jess context
	 */
	public ValueVector select(
		QualifiedName entityName,
		Fact goal,
		Context context)
		throws JessException;
}